::selection {
	background: rgba(0,0,0,.1);
}
*, *::before, *::after {
	margin: 0;
	padding: 0;
	font-style: normal;
	text-decoration: none;
	background: transparent;
	border: none;
	border-radius: 0;
	outline: none;
	box-shadow: none;
	box-sizing: border-box;
}
html {
	font-size: 16px;
	cursor: crosshair;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	-webkit-tap-highlight-color: transparent;
}
body {
	margin: 0;
	padding: 0;
	font: 1rem/1.75 "Source Han Serif SC", "Noto Serif CJK SC", "Noto Serif SC", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
	font-weight: 500;
	color: #333;
	overflow-y: scroll;
	touch-action: manipulation;
	-webkit-overflow-scrolling: touch;
}

a {
	color: #333;
	cursor: pointer;
	transition: .2s ease-in-out;
	transition-property: color, background, transform;
}
a:hover {
	color: #c65;
}

cite {
	display: block;
}

button, input, textarea {
	font: 1rem/1.75 "Source Han Serif SC", "Noto Serif CJK SC", "Noto Serif SC", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
	font-weight: 500;
	color: #333;
	transition: .2s ease-in-out;
}
button {
	cursor: pointer;
}


h1, h3 {
	font-weight: 400;
}
h2, h4, h5, h4 {
	font-weight: 500;
}
hr {
	margin: 2rem 0;
	width: 10%;
	border: 1px solid #ccc;
}

.layout-end {
	margin: 5rem 0 2.5rem;
	font-family: "Playfair Display";
}


body > div {
	margin: 10rem auto 5rem;
	padding: 1rem;
	max-width: 42rem;
}


header a[role="img"] {
	display: block;
	margin: 0 0 0 -1rem;
	width: 5rem;
	height: 5rem;
	background: #fff url("/usr/files/avatar.png") no-repeat center / 80%;
	border-radius: 50%;
	opacity: .75;
	filter: invert(100%);
	transform: rotate(-5deg);
	transition-duration: .4s;
	transition-timing-function: cubic-bezier(0.25, 0.1, 0, 1.75);
}
header a[role="img"]:hover {
	transform: rotate(20deg);
}


header h1 {
	margin: 2rem 0 1rem;
	font-size: 2rem;
}

header nav {
	display: flex;
}

header nav form {
	position: absolute;
}
header nav form label {
	display: block;
	cursor: pointer;
}
header nav form label:before,
header nav form label:after {
	content: "";
	position: absolute;
    transition: .2s ease-in-out;
}
header nav form label:before {
	top: .4325rem;
	left: 5px;
	width: .75rem;
	height: .75rem;
	border: 2px solid #555;
	border-radius: 50%;
}
header nav form label:after {
    top: 1.25rem;
    left: .875rem;
    width: .5rem;
    height: 2px;
    background: #555;
	border-radius: 1px;
	transform: rotate(45deg);
}
header nav form label:hover:before,
header nav form input:hover + label:before,
header nav form input:focus + label:before {
	border-color: #c65;
}
header nav form label:hover:after,
header nav form input:hover + label:after,
header nav form input:focus + label:after {
    background: #c65;
}
header nav form input {
	margin: 0 0 0 1.5rem;
	padding: 0 .5rem;
	width: 0;
	opacity: 0;
	border-bottom: 2px solid #d76;
    transition: .2s ease-in-out;
    transition-property: width, opacity;
    pointer-events: none;
}
header nav form input:focus {
	width: 16rem;
	opacity: 1;
    pointer-events: all;
}
header nav form:focus-within ~ * {
	opacity: 0;
}

header nav ul {
	display: flex;
	margin: 0 0 0 2rem;
	list-style: none;
    transition: opacity .2s ease-in-out;
}
header nav a {
	color: #555;
}
header nav > ul > li {
	position: relative;
	margin: 0 0 0 1.25rem;
	padding: 0 0 1rem;
}
header nav li ul {
	position: absolute;
	top: 1.5rem;
	left: -.5rem;
	margin: 0;
	width: 12.5rem;
	flex-direction: column;
	font: 0.9375rem/1.5 "Playfair Display", "Source Han Serif SC", "Noto Serif CJK SC", "Noto Serif SC", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
	background: #eee;
	border-radius: 2px;
	opacity: 0;
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
	z-index: 9;
	pointer-events: none;
	transition: .2s ease-in-out;
	transition-property: opacity, top; 
}
header nav li:hover ul {
	top: 2.5rem;
	opacity: .9;
	overflow: hidden;
	pointer-events: all;
}
header nav li li a {
	display: block;
	padding: .25rem .5rem;
	color: #333;
}
header nav li li a:hover {
	color: #333;
	background: #ccc;
}

header nav h2 {
	font: 1rem/1.75 "Playfair Display", "Source Han Serif SC", "Noto Serif CJK SC", "Noto Serif SC", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    transition: opacity .2s ease-in-out;
}
header nav h2:before {
	content: "";
	display: inline-block;
	margin: 0 1.5rem;
	width: .125rem;
	height: 1rem;
	background: #ddd;
	border-radius: 1px;
	transform: translateY(.125rem);
}




main {
	margin: 7.5rem 0 10rem;
    transition: opacity .2s ease-in-out;
}
main.transition {
	opacity: 0;
}
main article {
	margin: 5rem 0;
}
main article h2 {
	font-size: 1.5rem;
}
main article h2 a {
	position: relative;
}
main article h2 a:hover {
	color: #333;
}
main article h2 a:before {
	content: "";
	position: absolute;
	top: 1.5rem;
	bottom: 0;
	left: .5rem;
	right: .5rem;
	background: hsl(20,80%,93%);
	z-index: -1;
	transition: all .4s cubic-bezier(0.25, 0.1, 0, 1.75);
}
main article h2 a:hover:before {
	top: .75rem;
	bottom: .5rem;
	left: -.25rem;
	right: -.25rem;
}
main article h2 a:active:before {
	left: max(1rem, 5%);
	right: max(1rem, 5%);
}
main article h3 {
	margin: 4rem 0 2rem;
	padding: 0 0 .25rem;
	font-size: 1.25rem;
	border-bottom: 1px solid #999;
}
main article > ul {
	display: flex;
	flex-wrap: wrap;
	margin: .5rem 0 2rem;
	font-size: .875rem;
	list-style: none;
	color: #999;
}
main article > ul a {
	color: #777;
}
main article > ul a:hover {
	color: #333;
}
main article > ul li {
	order: 5;
}
main article > ul li:empty {
	width: 100%;
}
main article > ul li[data-title] {
	display: inline-flex;
	align-items: center;
	margin: 0 0 0 1rem;
}
main article > ul li[data-title] svg {
    margin: 0 .25rem;
    width: 1rem;
    height: 1rem;
    fill: #bbb;
    transition: fill .2s ease-in-out;
}
main article > ul li[data-title="阅览"] {
	order: 3;
}
main article > ul li.like {
	cursor: pointer;
}
main article > ul li.like:hover svg {
    fill: #c87;
}
main article > ul li.liked {
    color: #c65;
}
main article > ul li.liked svg {
    fill: #c65;
}
main article > ul li.like span::before {
	content: attr(data-prev);
}
main article > ul li.like span::after {
	content: attr(data-next);
	opacity: 0;
}
main article > ul li.like.liked span::before {
	opacity: 0;
}
main article > ul li.like.liked span::after {
	opacity: 1;
}
main article > ul li[itemprop="datePublished"] {
	order: 1;
}
main article > ul li[itemprop="wordCount"] {
	order: 2;
}
main article > ul li[itemprop="contentRating"] {
	color: #777;
}
main article > ul li[itemprop="translationOfWork"] {
	color: #555;
}
main article > ul li[itemprop="isBasedOn"]:before,
main article > ul li[itemprop="keywords"]:before {
	content: "";
	display: inline-block;
	margin: 0 .5rem;
	width: .125rem;
	height: .875rem;
	background: #ddd;
	border-radius: 1px;
	transform: translateY(.125rem);
}

main article div[itemprop="text"]:before {
	content: "";
	display: block;
	margin: 5rem 0;
	width: 25%;
	height: 2px;
	background: #999; 
}

main article p {
	margin: 1rem 0;
	text-align: justify;
}
main [itemprop] ol, main [itemprop] ul {
	margin: 1rem 0;
	padding: 0 0 0 2rem;
}
main [itemprop] ol li::marker, main [itemprop] ul li::marker {
	color: transparent;
}
main [itemprop] ul li::before {
	content: "";
	position: absolute;
	display: block;
	width: .75rem;
	height: 0;
	border: 1px solid #777;
	transform: translate(-1.25rem, .8125rem);
}
main nav {
	display: flex;
	line-height: 1.25rem
}
main nav::before {
	margin: 0 1rem 0 0;
	padding: 0 1.5rem 0 0;
	content: "Page";
	color: #555;
	border-right: 3px solid #ccc;
}
main nav a {
	margin: 0 .5rem;
}
main nav a.active {
	color: #c65;
	pointer-events: none;
}
main nav a.hidden {
	display: none;
}

.comment-new div {
	display: flex;
}
.comment-new input, .comment-new textarea, .comment-new button, .comment-new span {
	padding: .5rem;
	color: #555;
	background: #f6f6f6;
}
.comment-new input:hover, .comment-new textarea:hover {
	background: #f0f0f0;
}
.comment-new input:focus, .comment-new textarea:focus {
	background: #e6e6e6;
}
.comment-new textarea {
	width: 100%;
	resize: vertical;
	border-radius: 2px 2px 0 0;
}
.comment-new span {
	flex: 2 1 90%;
	border-radius: 0 0 0 2px;
}
.comment-new input {
	flex: 1 1 30%;
}
.comment-new button {
	flex: 1 2 4rem;
	margin: 0 0 0 2px;
	text-align: center;
	border-radius: 0 0 2px 0;
}
.comment-new button:hover {
	color: #fff;
	background: #555;
}





footer {
	font-size: .875rem;
	color: #777;
}
footer p:last-child {
	margin: .25rem 0;
	font-size: .75rem;
}



@font-face {
	font-family: "Playfair Display";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: local(Playfair Display), local(PlayfairDisplay-Regular), url(https://fonts.gstatic.com/s/playfairdisplay/v20/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDXbtM.woff2) format("woff2");
	unicode-range: U+0000-00B6, U+00B8-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-2013, U+2015-201B, U+201E-2025, U+2027-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2220, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Tangerine";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: local(Tangerine), local(Tangerine-Regular), url("https://fonts.gstatic.com/s/tangerine/v11/IurY6Y5j_oScZZow4VOxCZZM.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2220, U+FEFF, U+FFFD;
}
